1. Field of the Invention
The present invention relates to data storage systems which provide fault tolerance, such as redundant array of independent disks (RAID), and more specifically, to an adaptive rebuild scheduling scheme.
2. Description of the Related Art
RAID is a storage technology in which data can be distributed across multiple drives to provide fault tolerance, among other things. When one drive in a RAID system fails, data may be recovered from other drives in the RAID system, referred to herein as “secondary drives.” A number of techniques are known for RAID recovery, also referred to herein as “rebuilding” the RAID volume.
The RAID recovery process can have a significant impact on ordinary input/output (I/O) performance. The impact of RAID recovery has increased as the storage capacity of RAID drives has increased, necessitating longer rebuild times. As a result, I/O performance can be reduced for hours, or even days, during RAID recovery. Another problem associated with RAID recovery is the possibility of failure of secondary drives. Such secondary failure can result in complete data loss, as it may become impossible to recover data using the failed secondary drives.